<?
/**
 * 관련 컴플라이언스 목록 전체
 * by iamdobi
 */

class Page3 extends Controller {

	function Page3() {
		$this->initController();
		$this->getControllerInstance("Dao");
		$this->Dao->connect();
	}

	function execute() {
		$this->viewForm();
	}

	// 통제항목 선택
	function viewForm() {
		// 이전 페이지에서 넘어온 체크박스 선택값 저장
		$this->ctrl_obj = $_REQUEST['ctrl_obj'];
		$this->comp_list = $_REQUEST['comp_list'];
		$ctrl_obj_num = sizeof($this->ctrl_obj);
		$comp_list_num = sizeof($this->comp_list);

		if($ctrl_obj_num < 1 || $comp_list_num < 1) {
			$this->ErrorBackMsg('최소한 한 개의 항목은 선택해 주십시오.');
			exit;
		}

		// 전체 compliance를 kisa_detail 에서 가져오도록 한다
		$param = array();
		$query = 'select kisa_detail.*, kd_code.code_desc, kd_detail2.object from kisa_detail, kd_code, kd_detail2 where 1=1 and kisa_detail.div_2_id in (? ';
		for($i=0; $i<$ctrl_obj_num; $i++) {
			if($i != 0) $query .= ',? ';
			$param[] = $this->ctrl_obj[$i];
		}
		$query .= ' ) ';

		$query .= ' and kisa_detail.code in (? ';
		for($i=0; $i<$comp_list_num; $i++) {
			if($i != 0) $query .= ',? ';
			$param[] = $this->comp_list[$i];
		}
		$query .= ' ) ';
		$query .= ' and kisa_detail.code = kd_code.code ';
		$query .= ' and kisa_detail.code = kd_detail2.code ';
		$query .= ' and kisa_detail.div_3_id = kd_detail2.div_3_id ';
		$query .= ' order by kisa_detail.code asc ';

		$this->Dao->prepareStatement($query);
		$this->Dao->setParam($param);
		$this->Dao->executeStatement();

		$res_cnt = $this->Dao->getNumRows();
		if($res_cnt < 1) {
			$this->ErrorBackMsg('조회되는 Compliance 값이 없습니다.');
			exit;
		}

		// 가져온 리스트를 code(kd_title)를 기준으로 하여 kd_content 들을 하나의 row로 묶는다.
		$code_idx = 0;
		// view 단에서는 all_comp_list 를 가지고 DB 내용 조회
		while($Rows = $this->Dao->getFetchArray()) {
			if($this->all_comp_list[$code_idx]['code'] != $Rows['code']) {
				$code_idx++;
				$this->all_comp_list[$code_idx]['code'] = $Rows['code'];
				$this->all_comp_list[$code_idx]['code_desc'] = $Rows['code_desc'];
				$this->all_comp_list[$code_idx]['object'] = $Rows['object'];
			} else {
				$this->all_comp_list[$code_idx]['object'] .= '<br/>'.$Rows['object'];
			}
		}

		$this->query = $query;
		$this->setLayout("page3");
		$this->dispatcher();
	}
}
?>
